Expression-Related Constants
Expressions may be used for numeric parameter types, targets, and with the control statement actions.
Constant descriptions
-
kExpressionContainerAtomType
-
This atom is used to contain an expression. Expressions are used to describe numeric paramers, sprite and track IDs and indices,
Boolean
expressions for the
case
and
while
statements, and as a special operand type which allows for the nested sub-expressions within expressions. The complete grammar of expressions is described in
Appendix
.
-
The
kExpressionContainerAtomType
has either a
kOperatorAtomType
or a
kOperandAtomType
atom as its only child atom. The parent type of the
kExpressionContainerAtomType
atom may be any
kActionParameter
atom associated with a numeric data type, or any of the following:
kTargetTrackIndex
,
kTargetTrackID
,
kTargetSpriteIndex
,
kTargetSpriteID
,
kConditionalAtomType
, or
kExpressionOperandAtomType
.
-
kOperatorAtomType
-
This atom is used to describe an operation, such as multiplication or addition, which forms part of an expression. The atom's ID defines which operator it represents. Its parent atom is of type
kExpressionContainerAtomType
. Its child atoms are of type
kOperandAtomType
and describe the operands which the operator is applied to. The operator is applied to each of its child
kOperandAtomType
atoms in order by their atom index. Unary operators must have one
kOperandAtomType
child atom. Binary operators must have two or more
kOperandAtomType
child atoms.
-
kOperandAtomType
-
This atom is used to describe an operand, such as a constant number, a sprite property, or a variable. Its parent atom type may be of type
kExpressionContainerAtomType
, in which case the expression consists of only a single operand, or of type
kOperatorAtomType
in which case its index is used to define its order within the operators operand list. The
kOperandAtomType
atom contains a single child atom which can be any of the operand atom types.
© 1999 Apple Computer, Inc.| Previous | Chapter Contents | Chapter Top | Next |